1. Technical Field
The present invention relates to information-handling systems, methods and articles of manufacture, and more particularly, to information-handling systems and methods for implementing object search services for use in a distributed object system.
2. Background of the Invention
A related application (Ser. No. 08/554,063), herein incorporated by reference for all purposes, teaches and claims the use of an information-handling system, method and article of manufacture for controlling execution of program modules represented by one or more objects, the object-based program comprising one or more extended naming context objects for improving system performance. The Object Management Group (OMG) naming objects support binding of an object to a name in a Naming Context, such as a directory. This naming object is extended to support dynamic attributes, or Properties, and searching based on these Properties. The ExtendedNamingContext is a subclass of the Naming Context that introduces properties, indexes, and searches on these properties.
Properties are typed and named values that are dynamically associated with objects that are defined outside the type system. Properties find many uses such as object classification, reference counting, and the like. Property is a tuple- less than name, value greater than  where xe2x80x9cnamexe2x80x9d is a string and the xe2x80x9cvaluexe2x80x9d is an IDL (define) that denotes the value of the specified property. Clients can set, delete, and manipulate properties. Iterators are provided to return property lists when the number of properties exceeds the number expected by the client. Thus, the properties"" extensions to the OMG module allow clients to:
1) dynamically associate named value pairs for objects outside the static IDL type system; and
2) provide batch operations to deal with sets of properties as a whole.
In this system, the client needs a way to limit the scope of the search, to this purpose filters have been provided that allow clients to limit the scope of the search by specifying constraints. xe2x80x9cPropertiesxe2x80x9d along with xe2x80x9cConstraint Expressionxe2x80x9d provide the needed filtering mechanism.
The object search module that uses attributes and properties should return object references according to a set of predicates. The search space can be very large and the mechanism has to be extendable so as to be able to add to the search space seamlessly. The search space may span multiple address spaces with a large number of objects to be searched. The object search module will also need to support a particular form of federation and return object references that are held by Naming Context extensions in the global name space. Further, the mechanism should also be able to handle attributes as well as properties.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.
According to the present invention, an information-handling system operable within a distributed object computing environment (DOCE) is disclosed that includes an object-based program for controlling object searching in a constraint-based filtering mode over said DOCE. The object-based program for controlling object searching further comprises means for providing hierarchical storage of a name/binding value during a search. Additionally, the object-based program includes a means for providing the addition of properties as name/value pair sequence to each node within a tree search performed by the object-based program. Further, the search mechanism includes means for providing recursive searching of the group properties as well as means for providing meta-knowledge of the class within the DOCE for attribute search. Moreover, the system includes means for invoking a base-filterable class, which introduces methods that verify whether an object satisfies a given filter, and where the base-filterable class further provides a filterable subclass that provides the methods needed to build a filter. The filterable subclass is able to parse a constraint string, check for grammatical errors, and reject selected filter constraints based on type incompatibility based on the meta-knowledge.
Supplementally, the means can be loaded on a computer-readable medium wherein means are provided for performing searching over the DOCE in such a manner as to support properties, searching, and indexing over the DOCE. Additionally, a method is disclosed based on the principal mechanism described above wherein the steps for performing searching across the DOCE include, first, performing a search across the DOCE and, second, providing constraint-based filtering to the search to provide more robust searching with less false hits.